package qldc.pm.tiensu.service.impl;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import qldc.pm.tiensu.NoSuchTEMP_DoiTuongTienSuException;
import qldc.pm.tiensu.constants.TienSuConstants;
import qldc.pm.tiensu.model.LichSuXoaAnTich;
import qldc.pm.tiensu.model.TEMP_DoiTuongTienSu;
import qldc.pm.tiensu.model.impl.TEMP_DoiTuongTienSuImpl;
import qldc.pm.tiensu.service.base.TEMP_DoiTuongTienSuLocalServiceBaseImpl;

import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.Validator;

/**
 * The implementation of the t e m p_ doi tuong tien su local service.
 *
 * <p>
 * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link qldc.pm.tiensu.service.TEMP_DoiTuongTienSuLocalService} interface.
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author Brian Wing Shun Chan
 * @see qldc.pm.tiensu.service.base.TEMP_DoiTuongTienSuLocalServiceBaseImpl
 * @see qldc.pm.tiensu.service.TEMP_DoiTuongTienSuLocalServiceUtil
 */
public class TEMP_DoiTuongTienSuLocalServiceImpl
    extends TEMP_DoiTuongTienSuLocalServiceBaseImpl {
	private static Log _log = LogFactoryUtil
			.getLog(TEMP_DoiTuongTienSuLocalServiceImpl.class);
	private SimpleDateFormat sdf = new SimpleDateFormat(TienSuConstants.DATE_PATTERN);    

	public TEMP_DoiTuongTienSu findBySoDinhDanhCaNhan(String soDinhDanhCaNhan) {
		TEMP_DoiTuongTienSu doiTuongTienSu = null;

		try {
			doiTuongTienSu = temp_DoiTuongTienSuPersistence
					.findBySoDinhDanhCaNhan(soDinhDanhCaNhan);
		} catch (NoSuchTEMP_DoiTuongTienSuException e) {
			_log.warn(e.getMessage());
		} catch (SystemException e) {
			_log.warn(e.getMessage());
		}

		return doiTuongTienSu;
	}
	public TEMP_DoiTuongTienSu findTempDoiTuongTienSuMoiNhatByUserId(long userId) throws SystemException{
		List<TEMP_DoiTuongTienSu> doiTuongs = temp_DoiTuongTienSuPersistence.findByUserId(userId);
		if (Validator.isNotNull(doiTuongs) && !doiTuongs.isEmpty()){
			return doiTuongs.get(0);
		}
		else return null;
	}

	public TEMP_DoiTuongTienSu addTEMP_DoiTuongTienSu(long userId, String screenName, String soDinhDanhCaNhan, long mainDoiTuongTienSuId)
			throws SystemException {
		long doiTuongTienSuId = counterLocalService.increment(TEMP_DoiTuongTienSu.class.getName());
		TEMP_DoiTuongTienSu doiTuongTienSu = createTEMP_DoiTuongTienSu(doiTuongTienSuId);
    	
		doiTuongTienSu.setUserId(userId);
		doiTuongTienSu.setUserName(screenName);
		doiTuongTienSu.setCreateDate(new Date());

		doiTuongTienSu.setSoDinhDanhCaNhan(soDinhDanhCaNhan);
		doiTuongTienSu.setMainDoiTuongTienSuId(mainDoiTuongTienSuId);

		doiTuongTienSu = addTEMP_DoiTuongTienSu(doiTuongTienSu);

		return doiTuongTienSu;
	}

}
